package com.tiancheng.trade.settlement.bo;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.tiancheng.trade.settlement.enums.SystemSourceEnum;
import com.tiancheng.trade.settlement.vo.BasePage;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;

import jakarta.validation.constraints.NotNull;
import java.time.LocalDateTime;
import java.util.List;

/**
 * 收入确认-基础查询条件
 */
@Data
@ToString
@JsonIgnoreProperties(ignoreUnknown = true)
@EqualsAndHashCode(callSuper = true)
public class BaseRevenueQueryBO extends BasePage {
    /**
     * 统计起始时间
     */
    @NotNull(message = "统计开始时间不能为空")
    private LocalDateTime startDateTime;

    /**
     * 统计结束时间
     */
    @NotNull(message = "统计结束时间不能为空")
    private LocalDateTime endDateTime;

    /**
     * 业务渠道类型
     */
    private String orderSource;

    /**
     * 收入确认类型
     */
    private String revenueType;

    /**
     * 组织机构代码
     */
    private String orgCode;

    /**
     * 商户编码
     */
    private String merchantCode;
    /**
     * 收入记录状态
     */
    private List<Integer> revenueStatus;
    /**
     * 业务系统来源
     *  @see SystemSourceEnum
     */
    private String systemSource;

}
